const path = require('path')
const webpack = require('webpack')
const { merge } = require('webpack-merge')
const baseWebpackConfig = require('./webpack.base.conf.js')

const webpackConfig = merge(baseWebpackConfig, {
  mode: 'development',

  plugins: [
    new webpack.HotModuleReplacementPlugin(), // 启用热更新
  ],

  // 配置自带插件 --watch 的刷新频率
  watchOptions: {
    poll: 1000, //监测修改的时间(ms)
    aggregateTimeout: 500, //防止重复按键，500毫秒内算按一次
    ignored: /node_modules/, //不监测
  },

  // 本地服务
  devServer: {
    clientLogLevel: 'warning',
    contentBase: '../dist', // 本地服务器静态文件根目录
    compress: true, // 服务器返回浏览器的时候是否启动gzip压缩
    host: 'localhost',
    port: 8080, // 端口
    open: true, // 是否自动打开默认浏览器
    hot: true, // 开启热更新
    inline: true, // 用来支持dev-server自动刷新的配置
    overlay: {
      warnings: false,
      errors: true
    }
  },
});

module.exports = webpackConfig
